<?php
 if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Class Task extends MY_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->data['controller'] = 'task';   
        $this->load->model('Mtask');
    }
    
    public function addTask()
    {
        $this->checkLevel1();
        $projectId=$this->getParamString("id");
        if($projectId == null)redirect('');
        
        if ($_SERVER['REQUEST_METHOD'] === 'POST') {
            
            $this->load->library('form_validation');
            $this->form_validation->set_rules('module_name', 'Tên module', 'required');
            $this->form_validation->set_rules('content', 'Nội dung module', 'required');
            $this->form_validation->set_rules('users[]', 'Người nhận module', 'required');
            $this->form_validation->set_rules('time_start', 'Thời gian bắt đầu', 'required');
            $this->form_validation->set_rules('time_end', 'Thời gian kết thúc', 'required');
            if ($this->form_validation->run() === TRUE) {
                $run = $this->Mtask->addTask();
                echo "<script type = 'text/javascript'>alert('Tạo module công việc thành công !');window.location.href='".  site_url()."project-detail/".$projectId."';</script>";
            }
        }
        $this->data['project'] = $this->Mtask->getProject($projectId);      //lấy chi tiết project
        $this->data['arrUser'] = $this->Mtask->getUserProject($projectId);  //lấy user đã được gán vào project
        $this->data['action'] = __FUNCTION__;
        $this->data['time_start']=date("d/m/Y");
        $this->load->view('template/layout',$this->data);
    }	
    
    public function editTask()
    {
        $this->checkLevel1();
        $projectId  =$this->getParamString("id");
        $taskId     =$this->getParamString("idt");
        if($projectId == null || $taskId == null)redirect('');
        $this->data['project'] = $this->Mtask->getProject($projectId);      //lấy chi tiết project
        $this->data['task'] = $this->Mtask->getDetailTask($taskId);            //lấy chi tiết task
        
        
        $this->data['arraySelected'] = $this->Mtask->getUserSelected($taskId);   //lấy user được chọn ban đầu
        $this->data['arrUser'] = $this->Mtask->getUserProject($projectId);        //lấy  tất cả user đã được gán vào project(mới)
        $this->data['arrayChangeUser'] = $this->Mtask->arrayChangeUser($taskId);
        //Lấy user mới được gửi lên
        
//        var_dump($this->data['arraySelected']);echo "<br>";
//        var_dump($this->data['arrUser']);die;
        $this->load->library('form_validation');
        $this->form_validation->set_rules('module_name', 'Tên module', 'required');
        $this->form_validation->set_rules('content', 'Nội dung module', 'required');
        $this->form_validation->set_rules('users[]', 'Người thực hiện', 'required');
        $this->form_validation->set_rules('time_start', 'Thời gian bắt đầu', 'required');
        $this->form_validation->set_rules('time_end', 'Thời gian kết thúc', 'required');
        if($this->form_validation->run() === TRUE){
                $run = $this->Mtask->editTask($taskId,$this->data['arraySelected']);   //array được chọn lúc đầu khi chưa submit
                echo "<script type = 'text/javascript'>alert('Sửa module công việc thành công !');window.location.href='".  site_url()."project-detail/".$projectId."';</script>";
        }
        $this->data['action'] = __FUNCTION__;
        $this->load->view('template/layout',$this->data);
    }
    
    public function deleteTask()
    {
        $this->checkLevel1();
        $taskId     = $this->getParamString("idt");
        $delete=$this->Mtask->deleteTask($taskId);
        redirect(site_url().'project-detail/'.$this->getParamString("id"));
    }
    
    public function addRate(){

       $idUser=$this->session->userdata('admin_id');
       $module_id=$this->getParamString("module_id");
       $rate=$this->getParamString("rate");
       $run=$this->Mtask->addRate($idUser,$module_id,$rate);
       if($run != 200){
           echo "Cập nhập tiến độ thất bại";die;
       }
       else
       {
           echo "Cập nhập tiến độ thành công";die;
       }
    }
    
    public function stopM(){

       $idUser=$this->session->userdata('admin_id');
       $module_id=$this->getParamString("module_id");
//       $module_id=$this->getParamString("module_id");
       $reason=$this->getParamString("reason");
       $run=$this->Mtask->stopM($idUser,$module_id,$reason);
       if($run != 200){
           echo "Tạm dừng module thất bại";die;
       }
       else
       {
           echo "Tạm dừng module thành công";die;
       }
    }
    
     public function startM(){

       $idUser=$this->session->userdata('admin_id');
       $module_id=$this->getParamString("module_id");
//       $module_id=$this->getParamString("module_id");
//       $comment=$this->getParamString("comment");
       $run=$this->Mtask->startM($idUser,$module_id);
       if($run != 200){
           echo "Tiếp tục module thất bại";die;
       }
       else
       {
           echo "Đổi trạng thái module thành công";die;
       }
    }
	
	public function changeuser(){
		$userchange = $this->getParamInt('userchange');
		$userjoin = $this->getParamInt('userjoin');
		$module_id = $this->getParamInt('module_id');
		//die('userchange'.$userchange.'--userjoin'.$userjoin.'--module_id'.$module_id);
		$this->Mtask->changeuser($userchange,$userjoin,$module_id);
	}
	
}
